home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 40
/
Aminet 40 (2000)(Schatztruhe)[!][Dec 2000].iso
/
Aminet
/
util
/
cdity
/
ModeProSrc.lha
/
Daemon
/
revision_data
< prev
next >
Wrap
Text File
|
2000-09-17
|
32KB
|
541 lines
----------------------------------------------------------------------------------------------------
4.53 @1 - Moved CloseScreen and NewCloseWB from MPPatch.c to
MPCloseScreenPatch.c
----------------------------------------------------------------------------------------------------
4.53 @2 - ptOpenNodes.c
Added new function: FindOpenNode()
----------------------------------------------------------------------------------------------------
4.53 @3 - MPCloseScrPatch.c
replaced:
...
on=(struct OpenNode *)MPSem->OpenList.lh_Head;
while(on->on_Node.ln_Succ)
{
if(on->Screen==S)
{
Remove((struct Node *)on);
found=TRUE;
break;
}
on=(struct OpenNode *)on->on_Node.ln_Succ;
}
...
with
...
if(on=FindOpenNode(S))
{
Remove(on);
...
----------------------------------------------------------------------------------------------------
4.53 @4 - MPCloseScrPatch.c
Added
...
/* Set flag so MP knows which OpenNode caused signal */
on->Flags|=(ON_CLOSESIGNAL); //4.53 @4
...
----------------------------------------------------------------------------------------------------
4.53 @5 - MPPatch.c
Commented out
...
// pd->OpenNode->Flags|=ON_BITMAP; // 4.53 @5 can be determined by chaecking on->BitMap
...
----------------------------------------------------------------------------------------------------
4.53 @6 - MPPatch.c
Added since SendMPMsg nolonger checks for a Data ptr.
if(pd->OpenNode) // 4.53 @6
{
----------------------------------------------------------------------------------------------------
4.53 @7 - MPPatch.c
Renamed SendOpenNode to SendMPMsg and parms change
...
// 4.53 @7 renamed, parameter renamed
BOOL SendMPMsg(ULONG Command, ULONG Code, APTR Data)
...
----------------------------------------------------------------------------------------------------
4.53 @8 - MPLockPubPatch.c
Added
...
//4.53 @8 now clears ON_OPEN flag
ObtainSemaphore(&MPSem->OpenListSem);
if(on=FindOpenNode(ps))
{
// clear the open flag so MP can close the screen
on->Flags&=(~ON_OPEN);
}
ReleaseSemaphore(&MPSem->OpenListSem);
...
----------------------------------------------------------------------------------------------------
4.53 @9 - MPLockPubPatch.c
// 4.53 New Patch
void __saveds __asm NewUnlockPubScreen(register __a0 UBYTE *Name,
----------------------------------------------------------------------------------------------------
4.53 @10 - MPMain.c
Added:
...
//4.53 @10 Scan pubscreen list and check for screens that need to be closed
...
----------------------------------------------------------------------------------------------------
4.53 @11 - MPLockPubPatch.c
New semaphore should keep duplicate pubscreens from being created in a race condition
----------------------------------------------------------------------------------------------------
4.53 @12 - MPCloseScrPatch.c
Rewritten:
No won't removes *on until it needs to.
----------------------------------------------------------------------------------------------------
4.54 @1 -
Removed most of Obtaining (NodeSem and ListSem) to fix deadlock
----------------------------------------------------------------------------------------------------
4.55 @1 - MPNodes.c
added check for NULL name.
----------------------------------------------------------------------------------------------------
4.55 @2 - ptOpenNodes.c
Commented out
if(FindDisplayInfo) // 4.55 @3 MPPatch.c
----------------------------------------------------------------------------------------------------
4.55 @3 - MPCloseScreen.c
// 4.55 @3 - rv was not set till 4.55
----------------------------------------------------------------------------------------------------
4.55 @4 - MPCloseScreen.c
PubScreenStatus(on->Screen,PSNF_PRIVATE); // Attempt to make screen private, if we can, close it! 4.55 @4 Could fail if public screen was already private! Causing unclosable open screen.
----------------------------------------------------------------------------------------------------
4.55 @5 - MPCloseScreen.c
/* 4.55 transplanted from mpmain.c */
void ClosePubScreens(void)
----------------------------------------------------------------------------------------------------
(4.55.6) - Work:sc/Programs/ModePro/Daemon/MPCloseScrPatch.c
Description: Moved code from MPMain.c
...
/* transplanted from mpmain.c */// (4.55.6)
void ClosePubScreens(void)
...
----------------------------------------------------------------------------------------------------
(4.55.7) - Work:sc/Programs/ModePro/Daemon/MPCloseScrPatch.c
Description: ScreenNotify Kludge
...
/* The big birdie kludge // (4.55.7)
1. Check to see if the screen is private// (4.55.7)
2. Find out if the screen is private (used later)// (4.55.7)
3. Attempt to make the screen private. This should remove any visitors from the screennotify library. (Birdie)// (4.55.7)
4. Check to see if any visitors are on the screen // (4.55.7)
If none then try to close it// (4.55.7)
5. If it didn't close for some add reason, then add the backdrop and make the screen public again// (4.55.7)
*/// (4.55.7)
plist=LockPubScreenList(); // (4.55.7)
PROCESS_LIST(plist,psn)// (4.55.7)
{// (4.55.7)
if(on->Screen==psn->psn_Screen)// (4.55.7)
{// (4.55.7)
ispublic=!(psn->psn_Flags & PSNF_PRIVATE);// (4.55.7)
}// (4.55.7)
}// (4.55.7)
UnlockPubScreenList();// (4.55.7)
// (4.55.7)
PubScreenStatus(on->Screen,PSNF_PRIVATE); // (4.55.7)
// (4.55.7)
plist=LockPubScreenList(); // (4.55.7)
PROCESS_LIST(plist,psn)// (4.55.7)
{// (4.55.7)
if(on->Screen==psn->psn_Screen)// (4.55.7)
{// (4.55.7)
if(psn->psn_VisitorCount==0)// (4.55.7)
{// (4.55.7)
closeit=1;// (4.55.7)
}// (4.55.7)
}// (4.55.7)
}// (4.55.7)
UnlockPubScreenList();// (4.55.7)
// (4.55.7)
if(closeit) // Only close it if no visitors // (4.55.7)
{// (4.55.7)
RemoveBackdrop(on->Screen); // Remove any backdrop (handles no backdrops)// (4.55.7)
PreCloseOpenNode(on); // Free data that needs to be freed BEFORE the screen closes (ie Pens)// (4.55.7)
// (4.55.7)
if(rv=OldCloseScreen(on->Screen,IntuitionBase)) // Attempt to Close the screen// (4.55.7)
{// (4.55.7)
Remove((struct Node *)on); // 4.53 @12 - Remove Node from OpenList// (4.55.7)
FreeOpenNode(on); // Free the OpenNode// (4.55.7)
DEBUG_CODE(DKP(" CloseScreen() really closes screen!\n"););// (4.55.7)
}// (4.55.7)
}// (4.55.7)
// (4.55.7)
if(ispublic && !rv) // if the screen was public and closescreen failed.// (4.55.7)
{// (4.55.7)
PubScreenStatus(on->Screen,0); // Then make the screen public again.// (4.55.7)
AddBackdrop(on->Screen,on->DN); // Re add the backdrop// (4.55.7)
}// (4.55.7)
}
...
----------------------------------------------------------------------------------------------------
(4.55.8) - Work:sc/Programs/ModePro/Daemon/MPPatch.c
Description:
...
/* Pick a ModeID */ // (4.55.8)
if(FindDisplayInfo(pd->DNode->ModeID)) // 4.55 @3// (4.55.8)
{// (4.55.8)
pd->ModeID =pd->DNode->ModeID;// (4.55.8)
}// (4.55.8)
else // If the screen Mode doesn't exist try to find a new mode// (4.55.8)
{// (4.55.8)
if(V39)// (4.55.8)
{// (4.55.8)
pd->ModeID=BestModeID(// (4.55.8)
BIDTAG_DesiredWidth, pd->Width,// (4.55.8)
BIDTAG_DesiredHeight, pd->Height,// (4.55.8)
BIDTAG_NominalWidth, pd->Width,// (4.55.8)
BIDTAG_NominalHeight, pd->Height,// (4.55.8)
(pd->SetDepth ? BIDTAG_Depth:TAG_IGNORE), pd->Depth,// (4.55.8)
TAG_DONE);// (4.55.8)
// (4.55.8)
}// (4.55.8)
}
...
----------------------------------------------------------------------------------------------------
(4.56.1) - Work:sc/Programs/ModePro/Daemon/MPWinPatch.c
Description:
...
...
----------------------------------------------------------------------------------------------------
(4.56.2) - Work:sc/Programs/ModePro/Daemon/MPWinPatch.c
Description: added debug code
...
// (4.56.2)
DEBUG_CODE(// (4.56.2)
DKP("OpenWindowTagList(%8lx,%8lx)\n",nw,TagList);// (4.56.2)
PrintWindowTags(nw->Extension);// (4.56.2)
);
...
----------------------------------------------------------------------------------------------------
(4.56.3) - Work:sc/Programs/ModePro/Daemon/ptDebug.c
Description: New debug funtion
...
void PrintNewWindowData(struct ExtNewWindow *nw)
...
----------------------------------------------------------------------------------------------------
(4.56.4) - Work:sc/Programs/ModePro/Daemon/ptDebug.c
Description: New debug funtion
...
void PrintWindowTags(struct TagItem *TagList)
...
----------------------------------------------------------------------------------------------------
(4.56.5) - Work:sc/Programs/ModePro/Daemon/MPCloseScrPatch.c
Description: Now returns LONG instead of BOOL
...
LONG __saveds ASM NewCloseScreen(REG __a0 struct Screen *S,// (4.56.5)
REG __a6 struct IntuitionBase *IBase)
...
----------------------------------------------------------------------------------------------------
(4.56.6) - Work:sc/Programs/ModePro/Daemon/MPPatch.c
Description: Replaced call to dos/GetProgram name to MyGetProgramName due to hit in dos version (I think)
...
LONG MyGetProgramName(STRPTR Buffer, LONG Len)// (4.56.6)
{// (4.56.6)
LONG bp,l;// (4.56.6)
struct Process *p;// (4.56.6)
struct CommandLineInterface *cli;// (4.56.6)
UBYTE *name;// (4.56.6)
// (4.56.6)
l=0;// (4.56.6)
// (4.56.6)
p=(struct Process *)FindTask(0);// (4.56.6)
if(p->pr_Task.tc_Node.ln_Type==NT_PROCESS)// (4.56.6)
{// (4.56.6)
// We are a process// (4.56.6)
if(bp=(p->pr_CLI<<2))// (4.56.6)
{// (4.56.6)
cli=(struct CommandLineInterface *)bp;// (4.56.6)
if(name=(UBYTE *)(cli->cli_CommandName<<2)) // (4.56.6)
{// (4.56.6)
for(l=0;l<name[0] && l<Len-1;l++) // Copy BSTR to CSTR string// (4.56.6)
{// (4.56.6)
Buffer[l]=name[l+1]; // (4.56.6)
}// (4.56.6)
name[l]=0; // Add NULL // (4.56.6)
}// (4.56.6)
}// (4.56.6)
}// (4.56.6)
return(l);// (4.56.6)
}
...
4.57 begins here
----------------------------------------------------------------------------------------------------
(4.56.7) - Work:sc/Programs/ModePro/Daemon/MPPatch.c
Description: value changed from -1 to INVALID_ID (the same, just prettier)
...
pd->ModeID=INVALID_ID;
...
----------------------------------------------------------------------------------------------------
(4.56.8) - Work:sc/Programs/ModePro/Daemon/MPNodes.c
Description: if ModeID is INVALID_ID, (ie app supplies SA_LikeWorkbench), then it ignores ModeID
since OrigDisplayID can be INVALID_ID aswell if user typed in a name.
...
if(ModeID!=INVALID_ID)
{
if((dn->OrigDisplayID == ModeID) || (dn->OrigDisplayID == (ModeID | ALL_MODES)) )
{
return(dn);
}
}
...
----------------------------------------------------------------------------------------------------
(4.56.9) - Work:sc/Programs/ModePro/Daemon/MPPatch.c
Description: Best Mode support
...
case MS_PROMOTE_BEST_MODE:// (4.56.9)
// (4.56.9)
DEBUG_CODE(DKP("Find Best Mode\n"););// (4.56.9)
// (4.56.9)
pd->OverscanType =pd->DNode->OverscanType;// (4.56.9)
pd->Width =pd->DNode->Width;// (4.56.9)
pd->Height =pd->DNode->Height;// (4.56.9)
// (4.56.9)
if(pd->DNode->Flags & DEPTH)// (4.56.9)
{// (4.56.9)
pd->Depth=pd->DNode->Depth;// (4.56.9)
pd->SetDepth=TRUE;// (4.56.9)
}// (4.56.9)
// (4.56.9)
if(V39)// (4.56.9)
{// (4.56.9)
pd->ModeID=BestModeID(// (4.56.9)
((pd->DNode->ModeID & MONITOR_ID_MASK) == MONITOR_ID_MASK ? BIDTAG_MonitorID : TAG_SKIP), pd->DNode->ModeID & MONITOR_ID_MASK,// (4.56.9)
BIDTAG_DesiredWidth, pd->Width,// (4.56.9)
BIDTAG_DesiredHeight, pd->Height,// (4.56.9)
BIDTAG_NominalWidth, pd->Width,// (4.56.9)
BIDTAG_NominalHeight, pd->Height,// (4.56.9)
(pd->SetDepth ? BIDTAG_Depth:TAG_IGNORE), pd->Depth,// (4.56.9)
TAG_DONE);// (4.56.9)
}// (4.56.9)
// (4.56.9)
pd->Changed=TRUE;// (4.56.9)
break;
...
----------------------------------------------------------------------------------------------------
(4.56.11) - Work:sc/Programs/ModePro/Daemon/MPPatch.c
Description:Added skip
...
TAG_SKIP ,(pd->SetDepth ? 0:1),
...
----------------------------------------------------------------------------------------------------
(4.58.1) - Work:sc/Programs/ModePro/Daemon/MPPatch.c
Description: re-enabled this, fixes problem where the program that opened the screen closes the screen
freeing the original title, which is still used by some open windows.
...
pd->NewTags[pd->TagNumber].ti_Tag=SA_Title;// (4.58.1)
pd->NewTags[pd->TagNumber].ti_Data=(ULONG)pd->OpenNode->ScreenTitle;// (4.58.1)
pd->TagNumber++;
...
----------------------------------------------------------------------------------------------------
(4.59.1) - Work:sc/Programs/ModePro/Daemon/MPPatch.c
Description: previously added NULL to name[] which was wrong.
...
Buffer[l]=0; // Add NULL // (4.56.6)
...
----------------------------------------------------------------------------------------------------
(4.60.1) - Work:sc/Programs/ModePro/Daemon/MPWinPatch.c
Description: Now checks for valid taglist like Intuition. could still fail.
...
/* valid ram */// (4.60.1)
if(((ULONG)nw->Extension & 1)==0 && TypeOfMem(nw->Extension))// (4.60.1)
{
...
----------------------------------------------------------------------------------------------------
(4.61.1) - Work:sc/Programs/ModePro/Daemon/MPPatch.c
Description: no longer check for WBENCHSCREEN in the NewScreen structure (for DataMat)
...
//pd->IsWorkbench =(ns->Type & SCREENTYPE)==WBENCHSCREEN;
...
----------------------------------------------------------------------------------------------------
(4.61.2) - Work:sc/Programs/ModePro/Daemon/MPReadArgs.c
Description: Can get tooltypes if renamed
...
{// (4.61.2)
char pname[256];// (4.61.2)
// (4.61.2)
if(GetProgramName(pname,256))// (4.61.2)
{// (4.61.2)
if(lock=GetProgramDir())// (4.61.2)
{// (4.61.2)
if(NameFromLock(lock,path,512))// (4.61.2)
{// (4.61.2)
if(AddPart(path,pname,512))// (4.61.2)
{// (4.61.2)
if(MPIcon=GetDiskObject(path))// (4.61.2)
{// (4.61.2)
LONG l;// (4.61.2)
// (4.61.2)
for(l=0;MPIcon->do_ToolTypes[l];l++);// (4.61.2)
// (4.61.2)
return(GetToolTypes(l,MPIcon->do_ToolTypes));// (4.61.2)
}// (4.61.2)
}// (4.61.2)
}// (4.61.2)
}// (4.61.2)
}// (4.61.2)
}
...
----------------------------------------------------------------------------------------------------
(4.62.1) - Work:sc/Programs/ModePro/Daemon/MPReadArgs.c
Description: Added Debug option to command line
...
"DEBUG/S";
...
----------------------------------------------------------------------------------------------------
(4.62.2) - Work:sc/Programs/ModePro/Daemon/MPReadArgs.c
Description: Added define for debug
...
#define RA_DEBUG 5
...
----------------------------------------------------------------------------------------------------
(4.62.3) - Work:sc/Programs/ModePro/Daemon/MPReadArgs.c
Description: And RAResults size upped for above
...
LONG RAResults[6]={0};
...
----------------------------------------------------------------------------------------------------
(4.62.4) - Work:sc/Programs/ModePro/Daemon/MPReadArgs.c
Description: Uncommented this. for above
...
MPSem->Debug =RAResults[RA_DEBUG];
...
----------------------------------------------------------------------------------------------------
(4.62.5) - Work:sc/Programs/ModePro/Daemon/MPReadArgs.c
Description: Enabled Debug in Tooltypes
...
MPSem->Debug =ArgYesNo (ttypes,(UBYTE *)"DEBUG",FALSE);
...
----------------------------------------------------------------------------------------------------
(4.62.6) - Work:sc/Programs/ModePro/Daemon/MPLockPubPatch.c
Description: Typo fixed, was "Workench", caused lockup with P96
...
if(strcmp("Workbench",Name)) // Can't f with Workbench! //4.53 @1 rewired
...
----------------------------------------------------------------------------------------------------
(4.62.7) - Work:sc/Programs/ModePro/Daemon/MPPatch.c
----------------------------------------------------------------------------------------------------
(4.62.8) - Work:sc/Programs/ModePro/Daemon/MPPatch.c
Description: If MP's public screen fails 'promotion' then this prevents it from opening a dead screen.
...
if(!GetTagData(SA_ModeProNode,0,TagList))
...
----------------------------------------------------------------------------------------------------
(4.62.9) - Work:sc/Programs/ModePro/Daemon/BestMode.c
Description: New function
...
ULONG ValidMonitorID(ULONG DispID)
...
----------------------------------------------------------------------------------------------------
(4.62.10) - Work:sc/Programs/ModePro/Daemon/BestMode.c
Description: Weedout bad IDs
...
monitorid=ValidMonitorID(data);
...
----------------------------------------------------------------------------------------------------
(4.62.11) - Work:sc/Programs/ModePro/Daemon/MPPatch.c
Description: Renamed to PrefsToDoPort
...
PutMsg(&MPSem->PrefsToDoPort,(struct Message *)mpm);
...
----------------------------------------------------------------------------------------------------
(4.62.12) - Work:sc/Programs/ModePro/Daemon/MPPatch.c
Description: No longer waits for ModePro to show the gui, caused deadlocks when the palette req was open.
...
PutMsg(MPSem->DaemonPort,(struct Message *)mpm);// (4.62.12)
// WaitForReply((struct Message *)mpm);
...
----------------------------------------------------------------------------------------------------
(4.62.13) - Work:sc/Programs/ModePro/Daemon/BestMode.c
Description: commented out
...
/* if(!dwidth)// (4.62.13)
dwidth=nwidth;// (4.62.13)
// (4.62.13)
if(!dheight)// (4.62.13)
dheight=nheight;// (4.62.13)
*/
...
----------------------------------------------------------------------------------------------------
(4.62.14) - Work:sc/Programs/ModePro/Daemon/MPPatch.c
Description: Used to send a message to ModePro to open prefs, now opens prefs directly.
...
if(ShowGUI())// (4.62.14)
{
...
----------------------------------------------------------------------------------------------------
(4.63.1) (09/17/00) - Work:sc/Programs/ModePro/4.x/Daemon/MPMain.c
Description: updated, changed in extras.lib
...
ex_CloseLibs(MP_Libs);
...
----------------------------------------------------------------------------------------------------
(4.63.2) (09/17/00) - Work:sc/Programs/ModePro/4.x/Daemon/MPMain.c
Description: changed due to extras.lib
...
if(ex_OpenLibs(argc,
...
----------------------------------------------------------------------------------------------------
(4.63.3) (09/17/00) - Work:sc/Programs/ModePro/4.x/Daemon/MPVer.c
Description: new version system makes this file obsolete
...
/* Obsolete
...